package main

func main() {
	/*
		1.正则表达式：
			又称 正规表达式、正规表示发、正规表示式、规则表达式、常规表示法，是计算机科学的一个概念。
		（1）介绍：
			正则表达式，即 符合一定规则的表达式，是用于匹配字符串中字符组合的模式。
			正则表达式的设计思想就是使用一些描述性的符号和文字为字符串定义一个规则。凡是符合这个规则的，程序就认为文本时“匹配”的，否则就是“不匹配”的。
			通俗讲，正则表达式的匹配过程就是逐字匹配表达式的描述规则，如果每个字符都匹配，那么程序就认为匹配成功；只要有一个匹配不成功，那么匹配失败。

		（2）语法：
			1、普通字符：
				包括没有显示指定为元字符的所有可打印和不可打印的字符。这包括 所有大写 和 小写字母、所有数字、所有标点符号 和 一些其他符号。
				[]表示这是一个字符组，代表一位字符。
				如：
				判断长度为 1 的字符是否为：
					数字: [0123456789] 简单写为 [0-9]
					英文小写字母: [a-z]
					大小写英文字母: [A-Za-z]或[a-zA-Z]

				判断一个长度为 2 的字符串是否是数字：[0-9][0-9]

				判断用户输入的是:
					"Y"还是"y"：[Yy]
					"Yes"还是"yes"：[Yy]es

			2、字符转义：
				[0-9]，其中“-”表示范围，并不代表字符“-”本身，此类字符称之为 元字符。这些字符在匹配中都有着特殊的意义。
				匹配 "[" 本身，正则可以写成：[\[]
				匹配 "0"，"-"，"9"这三个字符可以写成：[0\-9]

			3、元字符：
				\	将下一个字符标记为 特殊字符 或 字面值。例如，n 匹配 字符n，而 \n 匹配 换行符
				^	匹配输入的开始部分
				$	匹配输入的结束部分
				*	零次 或 更多次 匹配前面的字符。例如，zo* 匹配 z 或 zoo
				+	一次 或 更多次 匹配前面的字符。例如，zo+ 匹配 zoo 但不匹配 z
				?	零次 或 一次 匹配前面的字符。例如，a?ve? 匹配 never 中的 ve
				·	匹配任何单个字符，但换行符除外
				(pattern)	匹配模式并记住匹配项。通过使用以下代码，匹配的子串可以检索自生成的匹配项集合：Item [0]…[n]。要匹配圆括号字符 ()，请使用 ( 或 )
				x|y			匹配 x 或 y。例如 z
				{n}			n 是一个非负整数，精确匹配 n 次。例如，o{2} 不匹配 Bob 中的 o，但是匹配 foooood 中的前两个 o
				{n,}		在此表达式中，n 是一个非负整数，至少 n 次匹配前面的字符。例如，o{2,} 不匹配 Bob 中的 o，但是匹配 foooood 中的所有 o。o{1,} 表达式等效于 o+，o{0,} 等效于 o*
				{n , m}		m 和 n 变量是非负整数。至少 n 次且至多 m 次匹配前面的字符。例如，o{1,3} 匹配 fooooood中的前三个 o。o{0,1} 表达式等效于 o?
				[xyz]		一个字符集，匹配任意一个包含的字符。例如，[abc] 匹配 plain 中的 a
				[^xyz]		一个否定字符集，匹配任意未包含的字符。例如，[^abc] 匹配 plain 中的 p
				[a-z]		字符范围，匹配指定范围中的任意字符。例如，[a-z] 匹配英语字母中的任意小写字母字符
				[^m-z]		一个否定字符范围，匹配未在指定范围中的任意字符。例如，[^m-z] 匹配未在范围 m 到 z之间的任意字符
				\A	仅匹配字符串的开头
				\b	匹配某个单词边界，即某个单词和空格之间的位置。例如，er\b 匹配 never 中的 er，但是不匹配 verb 中的 er
				\B	匹配非单词边界。ea*r\B 表达式匹配 never early 中的 ear
				\d	匹配数字字符
				\D	匹配非数字字符
				\f	匹配换页字符
				\n	匹配换行符
				\r	匹配回车字符
				\s	匹配任意空白字符，包括空格、制表符、换页字符等
				\S	匹配任意非空白字符
				\t	匹配跳进字符
				\v	匹配垂直跳进字符
				\w	匹配任意单词字符，包括下划线。此表达式等效于 [A-Za-z0-9_]
				\W	匹配任意非单词字符。此表达式等效于 [^A-Za-z0-9_]
				\z	仅匹配字符串的结尾
				\Z	仅匹配字符串的结尾，或者结尾的换行符之前


	*/
}
